# -*- coding: utf-8 -*-
# @Time    : 2021/8/28 0:44
# @Author  : BrandonGT
# @FileName: PyQt5_basic_structure_analysis.py

# 0. 导入需要的包和模块
import sys
from PyQt5.QtWidgets import *
from code_02_Menu import Window

# 1. 创建一个应用程序的对象
app = QApplication(sys.argv)
# print(app.arguments())  # 使用arguments()可以访问使用命令行执行程序是传入的参数
# print(qApp.arguments())  # qApp为导入PyQt模块时，自动创建的变量，可以当做全局变量来使用，qApp隶属于QtWidgets

# 2.控件的操作
# 创建控件，设置控件（大小，位置，样式...），事件，信号的处理


# 2.1 创建控件
# 当初创建控件时，没有父控件，则把它当做顶层控件（窗口）
# 系统会自动给窗口添加标题栏，窗口控件具备一些特性（设置标题，图标）
window = Window()

# 2.2 设置控件
# window.setText("BrandonGT")

# 2.3 展示控件
# 创建一个控件后，如果该控件没有父控件，默认情况下不会被展示，只有手动调用show()才可以显示
window.show()

# 3. 应用程序的执行，进入到消息循环
# sys.exit()  # 只是用来返回程序退出的 退出码
# app.exec_()  # 让整个程序开始执行，并进入消息循环（无限循环），检测整个程序所接收到的用户交互信息
sys.exit(app.exec_())  # 先执行程序，且如果程序执行有问题，返回问题代码，最终通过sys.exit()返回程序执行结束代码


# 代码执行的两种模式， 1.右键执行 2.命令行执行（python 代码名称）
# 当使用命令行启动程序是，可以设定一种功能（接受命令行传递的参数，来执行不同的逻辑）
# args = sys.argv
# print(args)
# if args[1] == '1':
#     print("xxx")
# else:
#     print("bbb")
